import axios from 'axios'
// import router from '@/router/index.js'


// const actionMapping = {
//     'get': 'view',
//     'post': 'add',
//     'put': 'updata',
//     'delete': 'del'
// }

export function request(config) {
    // 1.创建axios的实例
    const instance = axios.create({
        baseURL: '/static/mode',
        timeout: 5000
    })

    // 2.axios的拦截器
    // 2.1.请求拦截的作用
    instance.interceptors.request.use(req => {
        // 请求拦截 每次请求发送token
        if (req.url !== 'login') {
            req.headers.Authorization = sessionStorage.getItem('token');
            
            // const acton = actionMapping[req.method];
            // const currentRight = router.currentRight.meta.permission
            // if (currentRight && currentRight.includes(action)) {
            //     // 没有权限
            //     alert('没有权限')
            // }
        }
        // 判断非权限范围内的请求
        // [add del updata view]
        // restful风格请求
        // get请求      view
        // post请求     add
        // put请求      updata
        // delete请求   del


        return req
    }, err => {
        console.log("request" + err);
    })
    // 2.2.响应拦截
    instance.interceptors.response.use(res => {
        return res.data
    }, err => {
        console.log("response" + err);
    })

    // 3.发送真正的网络请求
    return instance(config)
}

